Sensitive data aliasing

ABSTRACT

Database management and security is implemented in a variety of embodiments. In one such embodiment, data sets containing sensitive data elements are analyzed using aliases representing sensitive data elements. In another embodiment, the sensitive data elements are stored in an encrypted form for use from a secure access, while the alias is available for standard access.

RELATED PATENT DOCUMENTS

This patent document claims the benefit, under 35 U.S.C. §119(e), ofU.S. Provisional Patent Application No. 60/763,048 filed on Jan. 27,2006 and entitled: “Sensitive Data Aliasing and ImplementationsThereof.”

FIELD OF THE INVENTION

The present invention relates generally to approaches to databasemanagement, and more particularly, to a sensitive data aliasingprocedure that facilitates implementing sensitive databases.

BACKGROUND

Databases are used for a large number of different applications. In someinstances, the databases can be used to store sensitive information thatcalls for a measure of security. Depending upon the importance of theinformation and the potential for misuse of the information, differentlevels of security are implemented. Several different types of sensitiveinformation that typically require a high level of security includetransaction card account identifiers, account numbers, social securitynumbers, and more.

Many applications exist that utilize databases containing sensitive dataand information related to sensitive data. The applications serve avariety of purposes, including statistical analysis, record keeping,Internet access, and other uses. Some types of sensitive data relate topersonal identification data, such as social-security numbers, driverlicense numbers, private cell phone numbers, account numbers orbiometric data indication. Other types of sensitive data may be relatedto private information, such as medical records, financial statements orother information. These and other types of data are often useful forstatistical analysis, recordkeeping, and other data-management uses.When using the sensitive data, many data-management applications storethe sensitive data in a database. If an unauthorized person were to gainaccess to the database, they could use the stored information to commitfraud, identity theft, or other illegal activities. For this reason,sufficient security measures are required to prevent unauthorized accessto a database containing sensitive information.

There has been a growing concern, however, in the prevention ofunauthorized access to such databases. A person who gains such anunauthorized access could commit fraud, identity theft, or other illegalactivities with any of the sensitive information. In addition, thecapacity for transaction card fraud has increased with the growing useof the Internet. If databases are accessible from a system that has alink to the Internet, the potential security issues increase because anunauthorized person may be able to access the database from a distantlocation. Accordingly, databases that contain transaction cardinformation often implement costly security measures to preventtransaction card fraud.

Examples of security measures used include implementing a firewall or asimilar method of limiting external access, password protecting thedatabase, limiting the amount of sensitive information stored, limitingthe amount of information that is stored, encrypting the sensitiveinformation, and masking the display of the sensitive information.

Several of the security measures can adversely affect the functionalityof the database. For example, limiting the amount of sensitiveinformation stored often can be accomplished by retaining the sensitiveinformation for a limited period of time (e.g., only storing sensitiveinformation less than a month old); however, an application may have aneed for accessing information related to events that occurred prior tothe limited time period. In another example, the sensitive data can beencrypted in the database using an encryption method, such as AES(Advanced Encryption Standard) cryptography or similar method.Unfortunately, after a sensitive data element is encrypted by suchmethods, the encrypted result is often a large binary string, and thus,contains characters that cannot be displayed and that can be difficultto store and manipulate because of the encrypted format. Moreover,database transactions involving the encrypted data can require largeamounts of computing power and time, and can produce erroneous data thatin various applications can cause the applications to functionincorrectly. In addition, many encryption methods use a key to createthe encrypted data. If the key is changed, all of the encrypted datamust also be changed. This can create compatibility issues between theold and new encrypted values.

When the sensitive data is masked for display purposes (e.g., replacedwith “*” or other unrelated markers), masking the information can reducethe usefulness of the display. For example, a viewer is not able to lookthrough a listing of data for identical sensitive data identifiers ifthe identifiers are masked. Moreover, if partial masking of theidentifiers is used, the uniqueness of each sensitive data element maybe lost.

These and other issues have presented challenges to the implementationof secure databases, including those involving sensitive information.

SUMMARY

The claimed invention is directed to overcoming some of theaforementioned challenges and others related to the storage andutilization of sensitive information. The present invention isexemplified in a number of implementations and applications, some ofwhich are summarized below.

Various example embodiments of the present invention are directed to thefacilitation of the creation and utilization of secure databases.

According to an example embodiment of the present invention, a method isemployed for facilitating the storage and use of sensitive data. Afterthe sensitive data is received, it is encrypted using an acceptableencryption technique. The format of the encrypted data is modified tofacilitate storage, manipulation, or viewing of the data. The formatteddata is stored in a database. Aliases (e.g., alphanumeric and otherrepresentations) are assigned to represent the sensitive information inthe database, and for many database accesses, the aliases are used inplace of the sensitive information.

According to another example embodiment of the present invention, asystem is arranged to facilitate the storage and utilization ofsensitive data elements. The system receives the sensitive data elementsalong with other data associated with the sensitive data. The systemuses software or hardware encryption techniques to encrypt the sensitivedata element. A database stores the encrypted sensitive data elementsonce the encrypted sensitive data elements are formatted in accordancewith the database requirements. The system creates an aliascorresponding to each formatted sensitive data element. The alias isprovided in place of the sensitive data element for certain types ofaccess requests.

Another embodiment uses data sets associated with sensitive dataelements for statistical analysis. The system associates encrypted formsof the sensitive data elements to aliases, and uses or provides thealiases for analyzing aspects of the data sets independent of bothencrypted and unencrypted forms of the sensitive data elements.

In another embodiment of the present invention, a system is coded atcompile time with a unique identifier for each customer. The system usesthe unique identifier to generate an encryption key from a pass phraseentered by the customer. This method allows for two different customersto have the same pass phrase but still have a different encryptionscheme. The software application can then use the encryption key toencrypt the sensitive data elements.

According to another example embodiment, the user can select a useridentification and password for access to the database. The useridentification and password are saved in an encrypted file andtransferred to a third party. The third party can use the encrypted fileto provide the secure access settings of the database during, forexample, installation of a database management system. Alternatively,the third party may use the encrypted file after installation to modifythe secure access settings of the database. The system then uses theuser identification and password to access the database.

Another embodiment generates a hash value for the encrypted sensitivedata. The system can subsequently use the hash value for databaseprocessing, such as data searching or sorting.

The above summary of the present invention is not intended to describeeach illustrated embodiment or every implementation of the presentinvention. The figures and detailed description that follow moreparticularly exemplify these embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may be more completely understood in consideration of thedetailed description of various embodiments of the invention thatfollows in connection with the accompanying drawings, in which:

FIG. 1 is an arrangement for storage and utilization of sensitive data,according to an example embodiment of the present invention;

FIG. 2 is an example embodiment of block 114 of FIG. 1;

FIG. 3 is a flow diagram for storage and utilization of sensitive data,according to an example embodiment of the present invention; and

FIG. 4 is an arrangement implementing secure access and storage ofsensitive data, according to an example embodiment of the presentinvention.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

The present invention is believed to be useful for a variety ofdifferent applications, and the invention has been found to beparticularly suited for use with the management of databases containingsensitive data elements, such as credit/debit card account numbers andrelated information. While the present invention is not necessarilylimited to such applications, various aspects of the invention may beappreciated through a discussion of various examples using this context.

One embodiment uses data sets associated with such sensitive dataelements that require access restrictions. For example, the sensitivedata may represent a personal identification number. The personassociated with the identification number has an expectation that theidentification number will be kept confidential. With this expectation,the person may supply the identification number, or it may be obtainedfrom another source. The identification number, along with any otherrelevant data, is stored for analysis or recordkeeping purposes. Inaccordance with the present invention, the person's expectation ofconfidentiality can be satisfied while still permitting limited use ofthe stored information. A computer, electronic circuit or similar methodgenerates an independent alias identifier and associates the aliasidentifier to the identification number. Other applications are able tomore freely use this alias identifier because the alias is independentof the identification number (i.e., not invertible to the identificationnumber). For example, a statistical analysis may be run for medicalpurposes using aliases in place of social security numbers without riskof the social security number being fraudulently derived solely from thealias identifier. For security purposes, the identification number isencrypted and access to the encrypted sensitive data identifier can berestricted.

In another embodiment, a computer-based input provides sensitive datafor storage in a database. The system first encrypts the sensitive datausing a suitable encryption scheme. Examples of encryption schemes thatcan be used include, but are not limited to, AES, Data EncryptionStandard (DES), and International Data Encryption Algorithm (IDEA). Forexample, many encryption schemes generate a binary string that can bedifficult to read, remember, and store. In one embodiment, the binarystring can be converted to a readable form using uuencode, base64, orsimilar conversion methods. The system stores the formatted data in adatabase, creates an alias identifier and associates an alias to eachpiece of formatted data. The system may maintain the association betweenthe alias and the formatted data, regardless of the form of thesensitive data. Thus, the association remains the same whether the datais decrypted, formatted, encrypted or re-encrypted using a differentencryption scheme.

An output of the system provides the alias identifier in place of theformatted data for accesses to the database unless the sensitive data isspecifically requested by an authorized user. The alias identifiers areindependent of the sensitive data in that the sensitive data cannot bederived directly from the alias identifiers. This independence can beimplemented using a variety of alias identifier creation techniques suchas a randomly generated identifier, a sequentially generated identifier,or a non-invertible derivation of the sensitive data identifier. Thealiases may also be uniquely associated with exactly one sensitive dataidentifier. In some instances, the user, administrator, or anotherapplication using the invention may configure the format of the aliasidentifiers. For example, the user may designate that the aliasidentifiers should be formatted to each contain six capital letters orto each contain nine digits (the numbers “6” and “9” being merelyillustrative). In another embodiment, the user may designate a portionof the sensitive data that is retained and used as a portion of thealias identifier. In one such example, the system uses the first numberof a sensitive data identifier as the first number of its correspondingalias.

Access to the database can be performed using various methods; forexample, a graphical user interface (GUI) can be generated allowingusers to request and receive data. In one embodiment, each user of thesystem is assigned a user identification and password to verify theiridentity. The system can be configured to record configurationinformation related to each user, and the GUI may be tailored to theuser once they have successfully provided their user identification(user ID) and password. Other secure access methods can be implemented,such as verifying that the computer accessing the database isauthenticated with the local system, verifying that the user logged intothe computer has authorization to access the database (e.g., usingMicrosoft Windows® integrated authentication), implementing arestriction on the number of invalid verification attempts for a userID, or requiring complex passwords that must be changed periodically. Inaddition, the GUI interface can be configured to provide access tomultiple databases, each having unique access privileges. Upon a findingthat any of the variables entered (e.g., server, database name, user ID,or password) is incorrect, an appropriate error message can begenerated.

In one application, the system is highly configurable, allowingcustomization by the user including, but not limited to, the GUIinterface, the data fields contained with a record, and the number ofusers who have access to the database. In another embodiment, theinvention allows for a quick query of the database to retrieve anddisplay the data related to either an alias or a sensitive dataidentifier. The system determines the contents of the display throughthe use of user profile data or by user selections made via a userinterface. Depending upon the configuration, the display may show thealias, the encrypted sensitive data element, the unencrypted sensitivedata element and other related data. In another embodiment, the systemreceives either a sensitive data-element or an alias as input andprovides only the corresponding alias or sensitive data elementrespectively.

The system also allows the user to search the database for data otherthan the aliases or sensitive data elements. The results of the searchmay include the aliases or sensitive data elements related to thesearch. The system is configurable to display the aliases, the encryptedsensitive data element, the unencrypted sensitive data element, or anycombination of aliases and data elements.

The system can be configured to record logs of user activities, such asaccess attempts related to the sensitive data elements. The system mayuse these logs for generating a log report that can be used to detectfraudulent accesses and prevent future fraudulent accesses. The type ofinformation stored in log reports varies according to the specificapplication but may include user ID, event type, time, success/failureindication, IP or Mac address, or account alias.

Where large amounts of sensitive data need to be processed (e.g.,conversion of an existing database, modification of the existing key,and merging of another database), it may be beneficial to move the datato an alternate location for processing. For example, a separatedatabase and processing unit could perform the processing, and uponcompletion of the processing, the data would be sent back to theoriginating database. A similar method involves storing the aliases andencrypted sensitive data identifiers in separate databases. This methodreduces the impact of processing the sensitive data identifiers upon theuse of the aliases and other data.

In one embodiment, a computer-based system generates a hash value foreach sensitive data identifier or encrypted sensitive data identifier.The system uses this hash value for searching, sorting, and similardatabase-related processes. For instance, the hash value may representalphanumeric, numeric, or other limited values. The hash value may alsorepresent a compression of the sensitive data identifier. Additionally,the system may format the hash value further by using another hashalgorithm, such as first using Secure Hash Algorithm (SHA-1) and thenusing Media Digest Algorithm (MD5). Once the hash value has beencreated, a database application may use the hash value when accessingthe database. For example, to search for a sensitive data identifier inthe database, the system determines the sensitive data identifier hashvalue for use in finding records that correspond to the hash value. Thismethod can be particularly beneficial when large amounts of data areaccessed during initialization or bulk modification of the database andalso can increase the security of the database-related processes. Thishash creation method is useful to numerous applications, includingapplications outside of data aliasing.

In another embodiment, the system can store the aliases and related datain one database while storing the sensitive data identifiers in anotherdatabase. Using this method, the database may contain file recordscomposed of several types of information that can be separated intodifferent fields of data, of which one or more fields may be a sensitivedata identifier or alias. The system can configure one database to storethe records with the sensitive data identifiers as a field, while theother database is configured to store the aliases in a similar field.This method of implementing two databases allows the access requirementsfor each database to be controlled separately.

According to another example embodiment, a user can select a useridentification and password for accessing the database. A computer-basedsystem converts the user identification and password to an encryptedfile format (e.g., an encrypted XML file or similar format). The userprovides the encrypted file to a third party (person or computer-basedapplication) that in turn provides the file to a database managementsystem that is capable of decrypting the file. The database managementsystem (computer-based application or person) uses the decrypted filefor configuring the secure access settings of the database during, forexample, installation of a database management system. Alternatively,the third party may use the encrypted file after installation to modifythe secure access settings of the database. The system then uses theuser identification and password to access the database. The user isthen able to access the database independently of the databasemanagement system using the user identification and password the useroriginally provided. Additionally, the user and others with appropriateaccess privileges can access the database through the databasemanagement system.

Turning now to the figures, FIG. 1 shows a system for secure storage andutilization of sensitive data elements, according to an exampleembodiment of the present invention. FIG. 1 contains data handlingblocks 110 to 110N, data sources 120 to 120N, authorized applications102 to 102N, and standard applications 104 to 104N. Numerousenvironments are envisioned for implementing the system of FIG. 1.

Data sources 126 to 126N supply data set 124. Data set 124 can consistof data related to a variety of different activities, including salesdata, financial services data, medical data, census data, and inventorydata. Often data set 124 contains sensitive data elements that requireappropriate security measures. Unless otherwise stated, sensitive dataelements, as used herein, include numbers, letters, symbols, or otherrepresentations. Data interface 120 is capable of distinguishingsensitive data 112 from other data 122. In one embodiment other data 122may be stored in database 118, while sensitive data 112 has additionaloperations performed upon it. In another embodiment, other data 122 canbe encrypted before storage in database 118. Database 118 is shown as asingle database; however, several different configurations are possible,such as using several distinct databases containing different types ofdata, or using several databases containing the same types of data.

Data interface 120 provides the sensitive data 112 to sensitive datacontrol 116. Upon receipt of sensitive data 112, sensitive data control116 determines if the sensitive data is encrypted. If the sensitive data112 is encrypted, sensitive data control 116 encrypts the data. In someinstances, the encryption requires obtaining a key from either the datasource 122 or authorized application 102. In other instances, thedecryption can be performed using an external decryption module. Using athird possibility, the data can be decrypted using a decryption schemethat does not require external input. These alternate methods allow theuser of the invention flexibility in controlling the method ofencryption for the sensitive data of data set 120 prior to data set 120being provided to data handling 110. After sensitive data 112 isdecrypted, or if sensitive data 112 was not initially encrypted,sensitive data 112 is encrypted by sensitive data control 116.

In addition to encryption, the sensitive data 112 is associated withaliases generated by sensitive data control 116. In one embodiment, thealiases are generated using a random generation scheme and thus areindependent of the sensitive data 112. Other alias generation schemesmay be implemented to generate aliases that are independent fromsensitive data, such as sequential aliasing, time based aliases, oraliases selected from an independent list. Sensitive data 112 typicallyconsists of a set of sensitive data elements, and the sensitive dataelements are associated with the aliases. The encrypted sensitive dataand associated aliases are then stored in database 118.

Database 118 is accessible for use by, for example, applications 102 to102N and 104 to 104N. In one embodiment, aliases 114 are available foruse in several instances where sensitive data 112 is not available, asshown by the distinction between authorized access 106 and standardaccess 108. For example, many health risks are monitored usingstatistical analysis. The health risks are found by an analysis ofmultiple types of personal data that often include personalidentification data, such as social security numbers, telephone numbers,addresses and other confidential information. When sensitive dataelements are used, the application should implement sufficient securityprecautions. In order to reduce the necessary securityprecautions/risks, applications (and other applications) can perform thedata analysis using aliases 114 in place of the sensitive data elements112. In some instances, however, it may still be necessary to use thesensitive data elements 112; therefore, users with authorized access(management or security personnel 102) are allowed to view sensitivedata elements 112 through authorized access 106.

When authorized application 102 uses sensitive information 112,sensitive data control 116 converts the sensitive data to an unencryptedform for use by authorized application 102 and back to an encrypted formfor storage in database 118. For instance, authorized application 102may request sensitive data 112 from database 118. Sensitive data control116 decrypts the encrypted sensitive data 117 and provides the sensitivedata 112 to authorized access 106. Authorized application 102 thenmodifies portions of sensitive data 112 (or other related data) andprovides the modified data to authorized access 106. Sensitive datacontrol 116 encrypts the sensitive data and stores the encryptedsensitive data 117 in database 118.

Numerous other implementations are envisioned with these components. Forexample, data sources 126 to 126N may be any number of locations or onlya single location. Thus, the data sources 126 to 126N might correspondto cash registers in multiple stores or to computers used in Internetsales. Similarly, data handling blocks 110 to 110N may be either asingle location or multiple locations. It is also possible that theentire system depicted in FIG. 1 could be located at a single location.In another embodiment, applications 102 to 102N and 104 to 104N mayprovide all the data used by data handling blocks 110 to 110Neliminating the need for data sources 126 to 126N.

FIG. 2 shows an example embodiment of data handling block 110 (asimplemented by a computer-based system) for storage and utilization ofsensitive data, as well as for providing access to aliases representingsensitive data. The sensitive identifiers and alias identifiers areaccessible through user interface 212. The user interface may beimplemented as a single software interface, multiple softwareinterfaces, or through a number of computer hardware interfaces orcircuits. Based upon the access requirements rules, user profiles orother factors, the user interface may provide the aliases or sensitiveidentifiers for use by, for example, another computer-based system.

In one embodiment, encryption block 204 and decryption block 214 areimplemented with a single device capable of both encryption anddecryption of data. In other embodiments, encryption block 204 may beimplemented using multiple devices (e.g., one or more for encryption andone or more for decryption). User interface 212 can also be implementedusing one or more devices. The combination of user interface 212,encryption block 204, and decryption block 214 may be implemented as asingle device or a number of device combinations.

User interface 212 serves several purposes. One purpose is thecollection of data, some of which may be sensitive data. The datacollected may take many different forms and can be collected using anynumber of methods. For example, the data may include personalidentification information relating to financial accounts that arecollected for statistical analysis, or alternatively, the personal datamay be collected from confidential surveys.

The arrangement of FIG. 2 is capable of accepting the sensitiveinformation in two forms: encrypted (block 216) or non-encrypted (block202). When the arrangement receives the sensitive information in anencrypted form, the arrangement decrypts the data at block 218. Block218 may be implemented using several methods. For instance, thedecryption algorithm may be implemented without passing the decryptedinformation through user interface 212 where block 218 contains thenecessary decryption algorithm and, if necessary, requests the key fordecrypting the information from user interface 212. Some methods ofencrypting data implement a key that changes for each set of encryptiondata (e.g., where the key is based upon the time of encryption). Thus,it is sometimes necessary to retrieve a key for each piece of encrypteddata. Using another method, the decryption is performed upon the dataafter it is passed through user interface 212. This method permits theuser to maintain the functionality of decryption block 218 independentof the FIG. 2 arrangement. While user control of the key provides theuser with flexibility, user control also introduces the possibility ofuser error. For example, if the user provides the wrong key through userinterface 212, the output of decryption block 218 would be unusable.This is particularly troublesome when performing operations on largeamounts of data, such as when the encryption key is changed by the user.Thus, one embodiment of the current invention verifies that the keyentered by the user matches the key that was used to encrypt the data.This may be accomplished by a number of different methods, such asstoring an encrypted version of the key or a hash value of the key. Thestored version of the key is then compared to the encrypted version orhash value of the subsequently entered key.

Using yet another method, the encrypted data may be passed directly tothe formatting stage of block 204. This method may be implemented, forexample, in situations where the encryption and decryption algorithms atblocks 204 and 214 correspond to the algorithm originally used inproviding the encrypted data 216. In some instances, the system alsostores the encryption key for the sensitive data for future use in thedecryption of the sensitive data.

When sensitive data 202 is collected from user interface 212 ordecryption block 218, the data is first modified by encryption block 204using a suitable encryption scheme. Several encryption schemes use a keyto both encrypt and decrypt data. This key can be supplied through theuser interface 212. The control of the key through user interface 212permits the user to maintain flexibility in how the data is encryptedif, for example, the user determines that the key should be changed forsecurity or other reasons.

Often it is necessary that the encrypted data be formatted to facilitatedata storage, manipulation, and display. For example, if AEScryptography is used, a binary string is generated that is not easilyread or manipulated. This binary string can be converted to AmericanStandard Code for Information Interchange (ASCII) or similar formatusing a number of known methods (e.g., uuencode and base64).

Block 204 also generates alias 210 for association with sensitive data202. Typically the alias is randomly generated, but it also can begenerated by other means, such as a sequential generation or by creatinga hash value of the sensitive data. The alias and encrypted data is thenstored in database 206. In an example embodiment, the format of thealias is configurable by the user of the invention. In anotherembodiment, the alias has the same format as the original sensitivedata. For example, if the sensitive information represents sensitivedata elements and the sensitive data elements are sixteen digits long,the alias will also be sixteen digits.

After the encrypted data and the alias are generated, they can be storedin database 206 for use through user interface 212. Typically, when userinterface 212 requests data, the database supplies alias 210 instead ofencrypted data 206. In this manner, database 206 can be used withoutsupplying the original sensitive data 202 or the encrypted data 208. Forexample, where the database contains sensitive data elements, thedatabase can be searched and analyzed using the alias instead of theactual sensitive data elements.

In one embodiment, user interface 212 can request the original sensitivedata 202. Typically, user interface 212 limits access to the originalsensitive data through any well known authorization techniques (e.g.,password protection). When there is an authorized request for sensitivedata 202, database 206 sends the encrypted data 208 to block 214. Atblock 214 the encrypted data has the formatting and encryption of block204 reversed resulting in the original sensitive data 202. This data isthen sent to user interface 212.

In an example embodiment, an alias is provided through user interface212, and the associated encrypted data is requested. In this example,the data stored in database 206 indicates the encrypted data thatcorresponds to the requested alias using, for example, a cross-referencetable. The corresponding encrypted data is provided to block 214 wherethe sensitive data is recovered by formatting and decrypting the data.

In another example of a request involving sensitive data, the sensitivedata is entered by the requestor and used to determine the correspondingalias. The entered sensitive data is encrypted and formatted using block204. The database is searched for any information matching the resultingencrypted and formatted data. If a match is found, the alias indicatedby the database as corresponding to the matched data is provided to therequestor.

For security and other reasons, it can sometimes be necessary to changethe encryption key used to create the encrypted data stored in thedatabase; for example the user may supply a new key or a new encryptionalgorithm (or both), and all new data will be encrypted using the newkey or algorithm. In addition, all the existing encrypted data can alsobe encrypted using the new key without assigning new aliases to theexisting data. In one embodiment, the new encryption process allows forrecovery of the original values in the event the new encryption processfails to complete properly. The present invention also allows for theexisting data (encrypted data 210) to be encrypted using the new key oralgorithm without changing the correlation between the existing data andthe alias 210. Therefore, an external application of the database usingthe alias 210 often does not need to be updated when the encryption ischanged. This method of modifying the encryption used is discussed belowin more detail.

FIG. 3 is a flow diagram according to another example embodiment of thepresent invention. Sensitive data elements are received at block 302. Inan alternate embodiment, the sensitive data elements can first bereceived in an encrypted form and decrypted by the method discussed inrelation to FIG. 2 blocks 216 and 218 prior to block 302. In eithercase, the sensitive data elements are subsequently encrypted at block304. As mentioned above, this encryption can be implemented using anumber of different encryption algorithms. In one embodiment, theencrypted sensitive data elements from block 304 are formatted at block306. An example implementation of blocks 304 and 306 uses AES encryptionat block 304 and uuencode formatting at block 306.

At block 308 the sensitive data element is checked against previouslystored sensitive data elements. If a match is found between the currentsensitive data element and a sensitive data element, the alias for thematching stored sensitive data element is used for the current sensitivedata element, as shown in block 312. If no match is found, a new aliasis generated at block 310. The new alias may be randomly generated, orit may be provided using other methods such as sequential generation.The aliases provided can be of a format that is the same or similar tothe original sensitive data element, or they may have an entirely newformat. In one embodiment, a portion of the sensitive data elementreceived at block 302 may be used as a portion of the alias; forexample, a portion of a credit card number identifying the financialservice provider may be used as part of the alias. This allows thefinancial service provider to be identified from the alias. Other datamay also be maintained by similar methods depending upon theconfiguration of the alias. After the new or existing alias is assignedat block 314, it is stored along with the alias at block 316.

Decision block 318 is based upon whether an access to the databaseinvolves the original sensitive data element or only the alias. If analias is required, it is supplied at block 320. Often, access to thealias is allowed in instances where the access to the original sensitivedata element is restricted. Numerous methods involve accessing anoriginal sensitive data element. One such method is to provide an aliasassociated with the original sensitive data element being requested.Another method is to access sensitive data elements associated withother data (e.g., all sensitive data elements received on a certain dayor all sensitive data elements that correspond to a particular person).Yet another method involves changing the encryption of the storedsensitive data elements. Using these and other methods, once it isdetermined what formatted data is being requested, the formatted data isretrieved from the database at step 322.

Next, the formatted data has the formatting of block 314 reversed inblock 324. From block 324, the sensitive data element is decrypted atblock 326. If a key was provided for encrypting in block 308, the keycan also be provided for use at block 326. The result of the decryptionof block 326 is that the original sensitive data element is availablefor use.

Decision block 328 determines whether the requested purpose is to changethe encryption of the sensitive data element. If the purpose issomething other than changing the encryption, the sensitive data elementis provided to the requestor at block 330. If, however, the purpose isto change the encryption of sensitive data element, the sensitive dataelement is encrypted using the new algorithm/key at block 332. Theencrypted sensitive data element from block 332 is then formatted atblock 334. The formatting may be the same as the formatting performed atblock 306, or a new formatting may be implemented. Block 336 maintainsassociation between the sensitive data element and its alias. Thus, thismethod allows the sensitive data element encryption to be modifiedwithout modification of the alias. Accordingly, applications that usethe alias (block 320) can continue to use the same alias even when theencryption of a sensitive data element is modified.

FIG. 4 is an arrangement implementing secure access and storage ofsensitive data. FIG. 4 contains authorized access 402, standard access414, and arrangement 400. Authorized access 402 represents accessrequests that are restricted through proper security measures. Standardaccess 414 represents access requests having different, if any,restrictions from those implemented for authorized access 402.Arrangement 400 represents the process for storing and accessingsensitive data, as well as for creating and accessing aliases.

Authorized access 402 involves access to the sensitive data 404, andtherefore, involves a level of security to restrict access that may beimplemented using varying levels of sophistication. A simple securityrestriction may require a password to allow access. More elaboratemeasures may include biometric security systems, access cards, orphysically limiting access to the arrangement 400.

Standard access 414 involves access to the alias 412 and data other thansensitive data 404, and therefore, does not always involve the samelevel of security implemented in authorized access 402. In fact, it ispossible that access to the alias 412 can be unsecured. Even if thestandard access 414 does involve some level of security, it may be of adifferent level than authorized access 402. Another possible distinctionbetween the accesses involves the set of users who are granted access toeach. For example, security personnel might be granted access to boththe authorized access 402 and the standard access 414, while inventorypersonnel are only granted access to the standard access 414.

As can be seen from FIG. 4, the alias can be directly provided to arequestor because the alias can be stored in a non-encrypted form.Access to the sensitive data, however, involves a decryption for readingthe data and an encryption for writing the data, as shown in block 406.In some embodiments, the data is also formatted in block 406.

Block 408 generates and assigns aliases to the encrypted data receivedfrom block 406. When sensitive information is requested from thedatabase 410 using aliases, block 408 can also determine the sensitivedata that is associated with the provided alias. The sensitive data isthen decrypted at block 406 and provided to authorized access 402.

For additional information regarding implementations of a databasemanagement system, reference can be made, for example, to U.S.Provisional Patent Application No. 60/763,048 filed on Jan. 27, 2006 andentitled: “Sensitive Data Aliasing and Implementations Thereof”including its appendices A-D; to U.S. patent application Ser. No.11/372,736 filed on Mar. 10, 2006 and entitled: “Sensitive Data Aliasingfor Transaction-Card and Other Applications” to Duhaime et al; and toU.S. Pat. No. 6,847,393 issued on Jan. 25, 2005 and entitled: “Methodand system for monitoring point of sale exceptions.”

The various embodiments described above are provided by way ofillustration only and should not be construed to limit the invention.Based upon the above discussion and illustrations, those skilled in theart will readily recognize that various modifications and changes may bemade to the present invention without strictly following the exemplaryembodiments and applications illustrated and described herein. Forinstance, such changes may include assigning multiple aliases to thesame sensitive data element. Other changes may include implementing morethan one database and storing the sensitive information in one databaseand the alias in another database. Such modifications and changes do notdepart from the true spirit and scope of the present invention, which isset forth in the following claims.

1. A computerized method of encrypting data sets containing sensitivedata elements and generating aliases to represent the sensitive dataelements, the method including the steps of: storing verification datafor maintenance of a relationship between the sensitive data elementsand aliases for the sensitive data elements; encrypting the sensitivedata elements using a first encryption method that generates binarystring representations of the sensitive data elements; formatting thebinary representations of the sensitive data elements according to atext format that would correspond to at least one prospective alias forthe sensitive data elements; comparing the formatted sensitive dataelements to stored sensitive data elements to determine if ones of thesensitive data elements have existing aliases; generating, in responseto the determination, aliases independent from the sensitive dataelements; generating an association between the generated aliases andthe sensitive data elements; restricting access to the sensitive dataelements to a set of authorized users; providing the aliases in place ofthe sensitive data elements in response to access request to thesensitive data elements by a set of standard users, where at least someof the standard users are not included in the set of authorized users;and retrieving the stored verification data for validating, in responseto a request for decryption, the relationship between the sensitive dataelements and the aliases.
 2. The computerized method of claim 1 furtherincluding the step of decrypting the sensitive data elements for use bythe set of authorized users.
 3. The computerized method of claim 1further including the steps of: identifying an alias corresponding to asensitive data element selected by an authorized user; and providing theidentified alias to said authorized user.
 4. The computerized method ofclaim 1 further including the steps of: identifying a sensitive dataelement corresponding to an alias selected by an authorized user; andproviding the identified sensitive data element to said authorized user.5. A computerized method of encrypting data sets containing sensitivedata elements and generating aliases to represent the sensitive dataelements, the method including the steps of: encrypting the sensitivedata elements using a first encryption method that generates binarystring representations of the sensitive data elements; formatting thebinary representations of the sensitive data elements according to atext format; comparing the formatted sensitive data elements to storedsensitive data elements to determine if ones of the sensitive dataelements have existing aliases; generating, in response to thedetermination, aliases independent from the sensitive data elements;generating an association between the generated aliases and thesensitive data elements; restricting access to the sensitive dataelements to a set of authorized users; providing the aliases in place ofthe sensitive data elements in response to access request to thesensitive data elements by a set of standard users, where at least someof the standard users are not included in the set of authorized users;decrypting the sensitive data elements and subsequently encrypting thesensitive data elements using a second encryption method; maintainingthe association between the aliases and the sensitive data elements; andformatting the sensitive data elements to represent displayablecharacters.
 6. The computerized method of claim 1 wherein the aliasesare generated randomly and each alias is uniquely identifiable.
 7. Thecomputerized method of claim 1 including the step of appending a portionof a sensitive data element to an alias associated with said sensitivedata element.
 8. The computerized method of claim 4 including the stepof creating a log of activities by the authorized users and the standardusers.
 9. The computerized method of claim 1 wherein, the sensitive dataelements are stored in a first database and the aliases are stored in asecond database.
 10. A computerized method of managing a databasereceiving encrypted data sets containing sensitive data elements andgenerating aliases to represent the sensitive data elements, the methodincluding the steps of: determining if the sensitive data elements areencrypted; decrypting the sensitive data elements in response to adetermination that the sensitive data is encrypted; encrypting thesensitive data elements using a first encryption method resulting inencrypted sensitive data; generating aliases independent from thesensitive data elements; generating an association between the aliasesand the sensitive data elements; storing verification data formaintenance of a relationship between the sensitive data elements andthe aliases for the sensitive data elements; restricting access to thesensitive data elements to a set of authorized users; retrieving thestored verification data for validating, in response to a request fordecryption, the relationship between the sensitive data elements and thealiases; and providing the aliases in place of the sensitive dataelements in response to access requests to the sensitive data elementsby a set of standard users, where at least some of the standard usersare not included in the set of authorized users.
 11. The computerizedmethod of claim 10 further including the step of decrypting thesensitive data elements for use by an authorized user.
 12. Thecomputerized method of claim 10 further including the steps of:identifying an alias corresponding to a sensitive data element selectedby authorized users; and providing the identified alias to theauthorized user.
 13. The computerized method of claim 12 furtherincluding the steps of: identifying a sensitive data elementcorresponding to an alias selected by an authorized user; and providingthe identified sensitive data element to the authorized user.
 14. Acomputerized method of encrypting data sets containing sensitive dataelements and generating aliases to represent the sensitive dataelements, the method including the steps of: encrypting the sensitivedata elements using a first encryption method that generates binarystring representations of the sensitive data elements; formatting thebinary representations of the sensitive data elements according to atext format; comparing the formatted sensitive data elements to storedsensitive data elements to determine if ones of the sensitive dataelements have existing aliases; generating, in response to thedetermination, aliases independent from the sensitive data elements;generating an association between the generated aliases and thesensitive data elements; restricting access to the sensitive dataelements to a set of authorized users; providing the aliases in place ofthe sensitive data elements in response to access request to thesensitive data elements by a set of standard users, where at least someof the standard users are not included in the set of authorized users;decrypting the encrypted sensitive data elements and subsequentlyencrypting the sensitive data elements using a second encryption method;maintaining the association between the aliases and the sensitive dataelements; and formatting the encrypted sensitive data elements torepresent displayable characters.
 15. The computerized method of claim10 where the aliases are generated randomly and each alias is uniquelyidentifiable.
 16. The computerized method of claim 10 including the stepof appending a portion of a sensitive data element to an aliasassociated with said sensitive data element.
 17. The computerized methodof claim 13 including the step of creating a log of access attempts bythe authorized users and the standard users.
 18. The computerized methodof claim 10 including the steps of: formatting the encrypted sensitivedata elements using uuencode or base64 algorithms; and storing theformatted encrypted sensitive data elements in the database.
 19. Thecomputerized method of claim 10, including the steps of: transferringencrypted access information to an application that is used accessingthe database; decrypting the encrypted access information; using thedecrypted access information to configure access restrictions to thedatabase; and wherein the decrypted access information is hidden fromusers of the application.
 20. The computerized method of claim 10,wherein a first processor is used to perform the encrypting anddecrypting and a second processor is used when using the aliases inplace of the sensitive data elements.
 21. A database processingarrangement for using data sets associated with sensitive data elements,the arrangement comprising: a database for storing the data sets andwherein the data sets include sensitive data elements; an encryptionarrangement for encrypting the sensitive data elements using a firstencryption scheme and wherein binary representations of the sensitivedata elements are formatted according to a text format that wouldcorrespond to at least one prospective alias for the sensitive dataelements; an alias generator for generating aliases and associating thealiases to the sensitive data elements, and for storing verificationdata for maintenance of a relationship between the sensitive dataelements and aliases for the sensitive data elements, wherein theverification data is stored for subsequent retrieval, in response to arequest for decryption, for validating the relationship between thesensitive data elements and the aliases; and an interface for access tothe database wherein the interface is configured to respond to an accessrequest for the same sensitive data element by providing the sensitivedata element, in response to the access request originating from anauthorized application, and providing a associated alias, in response tothe access request origination from a standard application.
 22. Thedatabase processing arrangement of claim 21, further including aformatting arrangement for formatting the encrypted forms of thesensitive data elements to represent displayable characters.
 23. Thedatabase processing arrangement of claim 21, wherein the interface isfurther for providing secure access to the encrypted forms of thesensitive data elements.
 24. The database processing arrangement ofclaim 21, wherein the datasets contain information related to thesensitive data elements and the aliases.
 25. The database processingarrangement of claim 21, wherein the alias generator is further forrandomly generating the aliases.
 26. The database processing arrangementof claim 21, wherein the encryption arrangement is further forperforming a re-encryption function that: decrypts the encrypted formsof a sensitive data elements; subsequently encrypts sensitive dataelements using a second encryption scheme; and maintains the associationbetween aliases and the sensitive data elements.
 27. The databaseprocessing arrangement of claim 26, wherein the encryption arrangementis further for performing the re-encryption function on all of thesensitive data elements in response to input from the interface.
 28. Thedatabase processing arrangement of claim 27, wherein the encryptionarrangement is further for using a first key to perform the firstencryption scheme and a second key to perform the second encryptionscheme.
 29. The database processing arrangement of claim 27, wherein:the encryption arrangement is further for using a first key to performthe first encryption scheme; a second key to perform the secondencryption scheme; and wherein both the first and second keys are inputthrough the interface.
 30. The database processing arrangement of claim21, wherein the datasets contain personal identification data.
 31. Thedatabase processing arrangement of claim 21, wherein the interface isfurther for: restricting access to the sensitive data elements to a setof authorized users; and providing the aliases in place of the sensitivedata elements for a set of standard users, wherein at least some of thestandard users are not included in the set of authorized users.
 32. Thedatabase processing arrangement of claim 21, further including a seconddatabase for storing the aliases.